The present invention relates generally to network communications systems, and more particularly, to a method and apparatus for providing packet acceptance and rejection determinations on a multi-user basis, for multicast transmissions implementing a priority-based quality of service.
The state of communications technology, particularly that which affects the Internet, is currently in flux and subject to rapid and often uncoordinated growth. The ubiquity and diversity of personal computers and set-top boxes has placed significant pressure on the providers of communications system infrastructure to accommodate the alarming increase in the number of new users that demand immediate access to Internet and other network resources. The rapid development of new and sophisticated software made available to users of such services places additional demands on system infrastructure.
Conducting commerce over the Internet and other networks is a practice that is gaining acceptance and popularity. By way of example, traditional on-line services, such as those offered by Internet providers, typical charge customers a monthly fee for access to basic services and resources, such as proprietary and public databases of information. Such traditional service providers also advertise any number of products or services which are purchasable on-line by the user.
Other forms of Internet commercialization currently being considered or implemented include offering of video and audio conferencing services, and a variety of other real-time and non-real-time services. The providers of these services, as well as the providers of communications system infrastructure, are currently facing a number of complex issues, including management of network capacity, load, and traffic to support real-time, non-real-time, and high-bandwidth services, and implementing a viable billing scheme that accounts for the use of such services.
The communications industry is expending considerable attention and investment on one particular technology, referred to as asynchronous transfer mode (ATM), as a possible solution to current and anticipated infrastructure limitations. Those skilled in the art understand ATM to constitute a communications networking concept that, in theory, addresses many of the aforementioned concerns, such as by providing a capability to manage increases in network load, supporting both real-time and non-real-time applications, and offering, in certain circumstances, a guaranteed level of service quality.
A conventional ATM service architecture typically provides a number of predefined quality of service classes, often referred to as service categories. Each of the service categories includes a number of quality of service (QoS) parameters which define the nature of the respective service category. In other words, a specified service category provides performance to an ATM virtual connection (VCC or VPC) in a manner specified by a subset of the ATM performance parameters. The service categories defined in the ATM Forum specification reference hereinbelow include, for example, a constant bit rate (CBR) category, a real-time variable bit rate (rt-VBR) category, a non-real-time variable bit rate (nrt-VBR) category, an unspecified bit rate (UBR) category, and an available bit rate (ABR) category.
The constant bit rate service class is intended to support real-time applications that require a fixed quantity of bandwidth during the existence of the connection. A particular quality of service is negotiated to provide the CBR service, where the QoS parameters include characterization of the peak cell rate (PCR), the cell loss rate (CLR), the cell transfer delay (CTD), and the cell delay variation (CDV). Conventional ATM traffic management schemes guarantee that the user-contracted QoS is maintained in order to support, for example, real-time applications, such as circuit emulation and voice/video applications, which require tightly constrained delay variations.
The non-real-time VBR service class is intended to support non-real-time applications, where the resulting network traffic can be characterized as having frequent data bursts. Similarly, the real-time variable bit rate service category may be used to support xe2x80x9cburstyxe2x80x9d network traffic conditions. The rt-VBR service category differs from the nrt-VBR service category in that the former is intended to support real-time applications, such as voice and video applications. Both the real-time and non-real-time VBR service categories are characterized in terms of a peak cell rate (PCR), a sustainable cell rate (SCR), and a maximum burst size (MBS).
The unspecified bit rate (UBR) service category is often regarded as a xe2x80x9cbest effort service,xe2x80x9d in that it does not specify traffic-related service guarantees. As such, the UBR service category is intended to support non-real-time applications, including traditional computer communications applications such as file transfers and e-mail.
The available bit rate (ABR) service category provides for the allocation of available bandwidth to users by controlling the rate of traffic through use of a feedback mechanism. The feedback mechanism permits cell transmission rates to be varied in an effort to control or avoid traffic congestion, and to more effectively utilize available bandwidth. A resource management (RM) cell precedes the transmission of data cells, which is transmitted from source to destination and back to the source, in order to provide traffic information to the source.
Although the current ATM service architecture described above would appear to provide, at least at a conceptual level, viable solutions to the many problems facing the communications industry, ATM, as currently defined, requires implementation of a complex traffic management scheme in order meet the objectives articulated in the various ATM specifications and recommendations currently being considered. In order to effectively manage traffic flow in a network, conventional ATM traffic management schemes must assess a prodigious number of traffic condition indicators, including service class parameters, traffic parameters, quality of service parameters and the like. A non-exhaustive listing of such parameters and other ATM traffic management considerations is provided in ITU-T Recommendation I.371, entitled Traffic Control and Congestion Control in B-ISDN, and in Traffic Management Specification, version 4.0 (af-tm-0056.000, April 1996), published by the Technical Committee of the ATM Forum.
Notwithstanding the complexity of conventional ATM traffic management schemes, current ATM specifications and recommendations fail to adequately address the need of service providers for a methodology that provides for accurate and reliable charging of services utilized by user""s of the network. Even if one were to assume that a charging scheme that accounts for most or all of the currently defined ATM traffic management properties could be developed, such a scheme would necessarily be complex and would typically require administration by highly skilled operators. The high overhead and maintenance costs to support such a billing scheme would likely be passed on to the network provider and, ultimately, to the network user.
The present invention is applicable in a network service class which incorporates a priority-based quality of service. This service class, hereinafter referred to as the Simple Integrated Media Access (SIMA) service class, provides a network management architecture that is simple in concept and in its implementation, yet adequately addresses the quality of service requirements to support a variety of network services, including real-time and non-real-time services. It also provides for the implementation of a simple and effective charging capability that accounts for the use of network services.
However, with the use of such a priority-based quality of service scheme, all packets are handled separately, such that each incoming packet to a core network node is individually analyzed for its priority, or alternatively, its drop preference. This, as is described more fully below, may be unacceptable in multicast situations.
Multicasting is the transmission of packets from one source to multiple receivers or users. For example, in a video broadcasting application, the server sends the same picture to every client. A problem is that that a priority-based QoS such as implemented in SIMA can lead to quite different quality of service at each of the different branches of the multicast transmission. While this may be acceptable in many situations, there are situations where it is preferable to guarantee a similar quality of service to all receivers of the multicast transmission. For example, a server providing video multicast may want to ensure that all of its clients receive a video picture that has an approximately constant quality regardless of the location of the receiving user.
Accordingly, there is a need for a system and method for providing packet acceptance and rejection determinations on a multi-user basis, for multicast transmissions implementing a priority-based quality of service. The present invention provides for a similar quality of service for all receivers of the multicast transmission, and therefore overcomes this and other shortcomings of the prior art, and offers additional advantages over the prior art.
The present invention is directed to a system and method for achieving a comparable quality of service for each of the receivers of a multicast transmission incorporating a priority-based quality of service.
In accordance with one embodiment of the invention, a method is provided for overriding packet acceptance criteria established at each individual connection of a network node, to provide a collective packet acceptance criteria for each packet of a multicast transmission targeted for the individual connections. The packet acceptance criteria is collected from each of the individual connections in the network node that are targeted for the multicast transmission. A multicast packet priority is calculated for each of the packets associated with the multicast transmission based on an aggregate analysis of the packet acceptance criteria of each of the individual connections. Each of the packets associated with the multicast transmission is collectively accepted or discarded based on the calculated multicast packet priority.
In accordance with another embodiment of the invention, a method is provided for overriding packet acceptance criteria established at each individual connection of a network node, to provide a collective packet acceptance criteria for each packet of a multicast transmission targeted for the individual connections. The packet acceptance criteria is collected from each of the individual connections in the network node that are targeted for the multicast transmission. A multicast packet priority is calculated for each of the packets associated with the multicast transmission based on an aggregate analysis of the packet acceptance criteria of each of the individual connections. The packet acceptance criteria from each of the connections in the network node is modified based on the calculated multicast packet priority. Each of the packets associated with the multicast transmission is individually accepted or discarded based on the modified packet acceptance criteria.
In accordance with another aspect of the invention, a system is provided for distributing multicast packets to a plurality of destinations in a network having at least one node between the source and the plurality of destinations, where either virtual or real connections are established between the source and each of the plurality of destinations to provide a multicast transmission of the multicast packets. The system includes a plurality of packet scheduling modules, one for each connection at the node. Each packet scheduling module accepts and discards packets based on an allowable packet priority of its corresponding connection. The system further includes a multicast priority management module coupled to each of the plurality of packet scheduling modules to receive the corresponding allowable packet priorities. Using these allowable packet priorities, the multicast packets destined for the destinations are collectively accepted or discarded based on the aggregate node priority derived from the allowable packet priorities of each of the packet scheduling modules.
In accordance with yet another embodiment of the invention, a system for equalizing the quality of service provided in a priority-based network service class is provided. The system includes a multicast transmission source and a plurality of multicast packet receivers. Within the network is at least one node that coupled the multicast transmission source and the plurality of multicast packet receivers. The node includes a router to route the multicast packets to their corresponding multicast packet receivers via a plurality of connections between the multicast transmission source and the plurality of multicast packet receivers. A plurality of packet scheduling modules are provided, one for each connection at the node. Each packet scheduling module accepts and discards packets based on an allowable packet priority of its corresponding connection. The system further includes a multicast priority management module coupled to each of the plurality of packet scheduling modules to receive the corresponding allowable packet priorities, and to collectively accept and discard the multicast packets destined for the plurality of multicast packet receivers based on an aggregate node priority derived from the allowable packet priorities of each of the packet scheduling modules.